# -*- coding: UTF-8 -*-
import re
import json
import jieba
import sys
jieba.load_userdict("userdict.txt")

#s=u"我要在国瑞城买一套250万左右，大约一百平米的大三居"
s=sys.argv[1].decode('utf8')
re_p=[u'(\u4e00|\u4e8c|\u4e09|\u56db|\u4e94|\u516d|\u4e03|\u516b|\u4e5d|\u5341|\u767e|\u5343|\d)*万']
re_a=[u'(\u4e00|\u4e8c|\u4e09|\u56db|\u4e94|\u516d|\u4e03|\u516b|\u4e5d|\u5341|\u767e|\u5343|\d)*平|平米']
re_r=[u'[\u0000-\ueeee](居|居室|室)']
sub_p=[u'万']
sub_a=[u'(平|平米)']
sub_r=[u'(居|居室|室)']
CN_NUM={
u'〇' : 0,u'一' : 1,u'二' : 2,u'三' : 3,u'四' : 4,u'五' : 5,
u'六' : 6,u'七' : 7,u'八' : 8,u'九' : 9,u'零' : 0,u'壹' : 1,
u'贰' : 2,u'叁' : 3,u'肆' : 4,u'伍' : 5,u'陆' : 6,u'柒' : 7,
u'捌' : 8,u'玖' : 9,u'貮' : 2,u'两' : 2,
}
CN_UNIT = {u'十' : 10,u'拾' : 10,u'百' : 100,u'佰' : 100,u'千' : 1000,
u'仟' : 1000,u'万' : 10000,u'萬' : 10000,u'亿' : 100000000,
u'億' : 100000000,u'兆' : 1000000000000,
}
#中文数字转阿拉伯数字
def cn2dig(cn):
    lcn = list(cn)
    unit = 0 #当前的单位
    ldig = []#临时数组
    while lcn:
        cndig = lcn.pop()
        if CN_UNIT.has_key(cndig):
            unit = CN_UNIT.get(cndig)
            if unit==10000:
                ldig.append('w')    #标示万位
                unit = 1
            elif unit==100000000:
                ldig.append('y')    #标示亿位
                unit = 1
            elif unit==1000000000000:#标示兆位
                ldig.append('z')
                unit = 1
            continue
        else:
            dig = CN_NUM.get(cndig)
 
            if unit:
                dig = dig*unit
                unit = 0
            ldig.append(dig)
    if unit==10:    #处理10-19的数字
        ldig.append(10)
    ret = 0
    tmp = 0
    while ldig:
        x = ldig.pop()
        if x=='w':
            tmp *= 10000
            ret += tmp
            tmp=0
        elif x=='y':
            tmp *= 100000000
            ret += tmp
            tmp=0
        elif x=='z':
            tmp *= 1000000000000
            ret += tmp
            tmp=0
        else:
            tmp += x
    ret += tmp
    return ret
#集合化
def toSet(file_name,set_name):
    lists=[line.strip().decode('utf-8')for line in open(file_name).readlines()]
    return set(lists)
#提取关键词处理干净
def tiQu(regex,s,sub):
    g=re.search(regex,s,re.M|re.I|re.U)
    if(g):
        result=g.group()
        result=re.sub(sub,'',result)
        if(re.search(u'\d',result)):
            result=result#cn2dig(area)
        else:
            result=cn2dig(result)
    else:
        result=''
    return result

        
#处理小区
boro_set=set()
boro_set=toSet(file_name='borough.txt',set_name=boro_set)
r_set = set(jieba.cut(s))
o_set=r_set&boro_set
if(o_set):
    borough=list(o_set)[0]
else:
    borough=''
#re_word=re.compile(re_a[0])
#处理面积
area=tiQu(regex=re_a[0],s=s,sub=sub_a[0])

#处理价格
price=tiQu(regex=re_p[0],s=s,sub=sub_p[0])

#处理居室
room=tiQu(regex=re_r[0],s=s,sub=sub_r[0])

#结果转json
result={'area':str(area),'price':str(price),'room':str(room),'word':borough}
result_js=json.dumps(result)
print result_js
